The present disclosure generally relates to computer animation, and more specifically to motion blur simulation.
When a camera is used to create an image of a moving object, the object may appear blurred due to the motion of the object during the time over which the camera shutter is open to capture an image. Similarly, an object may appear blurred in a single frame of a movie recorded by a camera due to movement of the object while the frame was captured. “Motion blur” describes the blurred appearance of moving objects or other image components in a frame. In computer animation, motion blur may be simulated so that image components in motion have a blurred appearance similar to that produced when a moving object is imaged by a camera.
One existing approach to simulating motion blur is a smearing technique, which involves distributing a density value for a given voxel across voxels that overlap with the path of a motion vector for the given voxel. However, smearing can result in various problems, such as lost shading detail. Another approach involves introducing motion blur during rendering. For example, a motion vector can be assigned to each sample point of a lattice representing a volume to be rendered. The lattice is deformed according to the motion vectors, and when sampling values along rays through the lattice, a motion blur effect results from sampling randomly in time. However, storing vector-based motion information associated with each sample point can be computationally expensive at render time.
Therefore, it is desirable to provide new systems and methods for addressing such problems associated with simulating motion blur.